const simplePseudoMap = {
  ':-moz-any-link': true,
  ':-moz-full-screen': true,
  ':-moz-placeholder': true,
  ':-moz-read-only': true,
  ':-moz-read-write': true,
  ':-ms-fullscreen': true,
  ':-ms-input-placeholder': true,
  ':-webkit-any-link': true,
  ':-webkit-full-screen': true,
  '::-moz-color-swatch': true,
  '::-moz-list-bullet': true,
  '::-moz-list-number': true,
  '::-moz-page-sequence': true,
  '::-moz-page': true,
  '::-moz-placeholder': true,
  '::-moz-progress-bar': true,
  '::-moz-range-progress': true,
  '::-moz-range-thumb': true,
  '::-moz-range-track': true,
  '::-moz-scrolled-page-sequence': true,
  '::-moz-selection': true,
  '::-ms-backdrop': true,
  '::-ms-browse': true,
  '::-ms-check': true,
  '::-ms-clear': true,
  '::-ms-fill-lower': true,
  '::-ms-fill-upper': true,
  '::-ms-fill': true,
  '::-ms-reveal': true,
  '::-ms-thumb': true,
  '::-ms-ticks-after': true,
  '::-ms-ticks-before': true,
  '::-ms-tooltip': true,
  '::-ms-track': true,
  '::-ms-value': true,
  '::-webkit-backdrop': true,
  '::-webkit-calendar-picker-indicator': true,
  '::-webkit-inner-spin-button': true,
  '::-webkit-input-placeholder': true,
  '::-webkit-meter-bar': true,
  '::-webkit-meter-even-less-good-value': true,
  '::-webkit-meter-inner-element': true,
  '::-webkit-meter-optimum-value': true,
  '::-webkit-meter-suboptimum-value': true,
  '::-webkit-outer-spin-button': true,
  '::-webkit-progress-bar': true,
  '::-webkit-progress-inner-element': true,
  '::-webkit-progress-inner-value': true,
  '::-webkit-progress-value': true,
  '::-webkit-resizer': true,
  '::-webkit-scrollbar-button': true,
  '::-webkit-scrollbar-corner': true,
  '::-webkit-scrollbar-thumb': true,
  '::-webkit-scrollbar-track-piece': true,
  '::-webkit-scrollbar-track': true,
  '::-webkit-scrollbar': true,
  '::-webkit-search-cancel-button': true,
  '::-webkit-search-results-button': true,
  '::-webkit-slider-runnable-track': true,
  '::-webkit-slider-thumb': true,
  '::after': true,
  '::backdrop': true,
  '::before': true,
  '::cue': true,
  '::file-selector-button': true,
  '::first-letter': true,
  '::first-line': true,
  '::grammar-error': true,
  '::marker': true,
  '::placeholder': true,
  '::selection': true,
  '::spelling-error': true,
  '::target-text': true,
  '::view-transition-group': true,
  '::view-transition-image-pair': true,
  '::view-transition-new': true,
  '::view-transition-old': true,
  '::view-transition': true,
  ':active': true,
  ':after': true,
  ':any-link': true,
  ':before': true,
  ':blank': true,
  ':checked': true,
  ':default': true,
  ':defined': true,
  ':disabled': true,
  ':empty': true,
  ':enabled': true,
  ':first-child': true,
  ':first-letter': true,
  ':first-line': true,
  ':first-of-type': true,
  ':first': true,
  ':focus-visible': true,
  ':focus-within': true,
  ':focus': true,
  ':fullscreen': true,
  ':hover': true,
  ':in-range': true,
  ':indeterminate': true,
  ':invalid': true,
  ':last-child': true,
  ':last-of-type': true,
  ':left': true,
  ':link': true,
  ':only-child': true,
  ':only-of-type': true,
  ':optional': true,
  ':out-of-range': true,
  ':placeholder-shown': true,
  ':read-only': true,
  ':read-write': true,
  ':required': true,
  ':right': true,
  ':root': true,
  ':scope': true,
  ':target': true,
  ':valid': true,
  ':visited': true,
} as const;

export type SimplePseudos = keyof typeof simplePseudoMap;

export const simplePseudos = Object.keys(
  simplePseudoMap,
) as Array<SimplePseudos>;

export const simplePseudoLookup = simplePseudoMap as Record<string, boolean>;
